package net.csdn.business.common.domain.request.operator;

import lombok.Data;
import net.csdn.business.common.domain.request.OperateListDto;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @author likun
 * @date 2023/1/11 17:44
 */
@Data
public class OperatePageQueryDto implements Serializable {
    /**
     * 页码
     */
    private Integer pageNum = 1;

    /**
     * 每页大小
     */
    private Integer pageSize = 10;

    /**
     * 主体类型：1：banner;2:组织；3、代码库
     */
    @NotNull(message = "targetType不能为空")
    private Integer targetType;

    /**
     * 主体名称
     */
    private String targetName;

    /**
     * 是否启用：1：启用；0：不启用
     */
    private Integer isEnable;

    private String beginTime;

    private String endTime;

    public static OperateListDto convert(OperatePageQueryDto dto) {
        OperateListDto query = new OperateListDto();
        query.setTargetType(dto.getTargetType());
        query.setTargetName(dto.getTargetName());
        query.setIsEnable(dto.getIsEnable());
        query.setBeginTime(dto.getBeginTime());
        query.setEndTime(dto.getEndTime());
        query.setPage(dto.getPageNum());
        query.setSize(dto.getPageSize());
        return query;
    }

    public static OperatePageQueryDto convert(OperateListDto dto) {
        OperatePageQueryDto query = new OperatePageQueryDto();
        query.setPageNum(dto.getPageNum());
        query.setPageSize(dto.getPageSize());
        query.setTargetType(dto.getTargetType());
        query.setTargetName(dto.getTargetName());
        query.setIsEnable(dto.getIsEnable());
        query.setBeginTime(dto.getBeginTime());
        query.setEndTime(dto.getEndTime());
        return query;
    }
}